package cn.edu.csmzxy.rk233x.auth_system.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.util.List;

/**
 * @author wumxing
 * @date 2025/10/15 16:11
 * @description 角色DTO
 */
@Data
@Schema(description = "角色请求参数")
public class RoleDTO {

    @Schema(description = "角色名称", example = "部门管理员")
    @NotBlank(message = "角色名称不能为空")
    @Size(max = 50, message = "角色名称长度不能超过50")
    private String roleName;

    @Schema(description = "角色编码", example = "DEPT_ADMIN")
    @NotBlank(message = "角色编码不能为空")
    @Size(max = 50, message = "角色编码长度不能超过50")
    private String roleCode;

    @Schema(description = "排序号", example = "2")
    private Integer sort;

    @Schema(description = "备注", example = "部门管理角色")
    private String remark;

    @Schema(description = "权限ID列表", example = "[3,4,5]")
    private List<Long> permissionIds;
}
